inspector: Add a font button to the visual tab
authorMatthias Clasen <mclasen@redhat.com>
Sat, 19 Jul 2014 23:15:58 +0000 (19:15 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 19 Jul 2014 23:15:58 +0000 (19:15 -0400)
The font was already settable via the gtk-font-name property
of the settings object, but this this much more convenient.

gtk/inspector/visual.c
gtk/inspector/visual.ui

index 9af48530feb2a5549b1fcc97173f0fa175abd47e..0fb6a802608220081dd6c7c0de26695936892126 100644 (file)
@@ -40,6 +40,7 @@ struct _GtkInspectorVisualPrivate
   GtkWidget *dark_switch;
   GtkWidget *icon_combo;
   GtkWidget *direction_combo;
+  GtkWidget *font_button;
   GtkWidget *hidpi_spin;
   GtkAdjustment *scale_adjustment;
 
@@ -338,6 +339,14 @@ icons_changed (GtkComboBox        *c,
   g_free (theme);
 }
 
+static void
+init_font (GtkInspectorVisual *vis)
+{
+  g_object_bind_property (gtk_settings_get_default (), "gtk-font-name",
+                          vis->priv->font_button, "font-name",
+                          G_BINDING_BIDIRECTIONAL|G_BINDING_SYNC_CREATE);
+}
+
 #if defined (GDK_WINDOWING_X11) && defined (HAVE_CAIRO_SURFACE_SET_DEVICE_SCALE)
 static void
 scale_changed (GtkAdjustment *adjustment, GtkInspectorVisual *vis)
@@ -457,6 +466,7 @@ gtk_inspector_visual_init (GtkInspectorVisual *vis)
   init_theme (vis);
   init_dark (vis);
   init_icons (vis);
+  init_font (vis);
   init_scale (vis);
   init_touchscreen (vis);
 }
@@ -497,6 +507,7 @@ gtk_inspector_visual_class_init (GtkInspectorVisualClass *klass)
   gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorVisual, touchscreen_switch);
   gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorVisual, visual_box);
   gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorVisual, debug_box);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorVisual, font_button);
 
   gtk_widget_class_bind_template_callback (widget_class, updates_activate);
   gtk_widget_class_bind_template_callback (widget_class, direction_changed);
index 33052231d7e6ffb19b104b9ff8da104315842066..c1228a4b93d7bea5c22b472846e299a7ec032f39 100644 (file)
                     </child>
                   </object>
                 </child>
+                <child>
+                  <object class="GtkListBoxRow">
+                    <property name="visible">True</property>
+                    <property name="activatable">False</property>
+                    <child>
+                      <object class="GtkBox">
+                        <property name="visible">True</property>
+                        <property name="orientation">horizontal</property>
+                        <property name="margin">10</property>
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="font_label">
+                            <property name="visible">True</property>
+                            <property name="label" translatable="yes">Font</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkFontButton" id="font_button">
+                            <property name="visible">True</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                          </object>
+                          <packing>
+                            <property name="expand">True</property>
+                          </packing>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                </child>
                 <child>
                   <object class="GtkListBoxRow">
                     <property name="visible">True</property>
       <widget name="theme_label"/>
       <widget name="dark_label"/>
       <widget name="icon_label"/>
+      <widget name="font_label"/>
       <widget name="direction_label"/>
       <widget name="hidpi_label"/>
       <widget name="updates_label"/>
       <widget name="touchscreen_label"/>
     </widgets>
   </object>
+  <object class="GtkSizeGroup">
+    <property name="mode">horizontal</property>
+    <widgets>
+      <widget name="theme_combo"/>
+      <widget name="icon_combo"/>
+      <widget name="font_button"/>
+      <widget name="direction_combo"/>
+    </widgets>
+  </object>
   <object class="GtkSizeGroup">
     <property name="mode">horizontal</property>
     <widgets>